home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / enigma / earcd / utility / utilfile / rw2ent15.lha / Raw2Ent.dok < prev    next >
Text File  |  1996-11-10  |  16KB  |  472 lines

  1. Project: Raw2Ent
  2. ARexx  : Raw2Ent.rexx
  3. Version: 1.4.1 (14.07.96)
  4. Program: Raw2Ent
  5. Version: 1.5 (10.11.96)
  6. Author : Tamio Patrick Honma
  7.  
  8. Files  : CWISENV
  9.          Raw2Ent
  10.          Raw2Ent.doc
  11.          Raw2Ent.rexx
  12.          Raw2Ent.rexx.old
  13.  
  14.  
  15.  
  16. INHALT:
  17.  
  18. 0. VORWORT
  19.  
  20. 1. EINFÜHRUNG
  21. 1.1. SYSTEMVORAUSSETZUNG
  22.  
  23. 2. GEBRAUCH
  24. 2.1. Raw2Ent VER: 1.5 (10.11.96)
  25. 2.2. Raw2Ent.rexx VER: 1.4.1 (14.07.96)
  26. 2.3. CWISENV
  27. 2.4. ARGUMENT-PRIORITÄT
  28.  
  29. 3. EINSCHRÄNKUNGEN
  30.  
  31. 4. INSTALLATION
  32.  
  33. 5. BEISPIELE
  34.  
  35. 6. TSCHÜSS!
  36.  
  37. 7. LETZTER KOMMENTAR
  38.  
  39. 8. FEHLERMELDUNGEN
  40.  
  41. 9. GESCHICHTE
  42.  
  43.  
  44.  
  45. 0. VORWORT
  46.  
  47. Diese  Anleitung  wurde vom Englischen ins Deutsche übersetzt.  Umständliche
  48. Formulierungen sind bitte zu übersehen.  Danke.
  49.  
  50.  
  51.  
  52. 1. EINFÜHRUNG
  53.  
  54. Raw2Ent  kovertiert 8-Bit-breiten ASCII-Text in 7-Bit-breiten ASCII-Text mit
  55. "Entity-Codes"  und  umgekehrt.   Das  ASCII-Format ist ein standardisiertes
  56. Format zum Informationsaustausch, aber es ist nur 7-Bit-breit definiert, was
  57. bedeutet,  daß  128  Kodierungen  definiert sind.  Ein Byte besteht aus acht
  58. Bits  und  kann 256 verschiedene Bit-Kombinationen repräsentieren.  Deswegen
  59. können  die letzten 128 Kodierungen von jedem OS frei definiert werden.  Das
  60. Problem  ist,  daß  Akzent-Buchstaben  und  andere  spezielle  Zeichen nicht
  61. standardisiert   sind,   weil   sie   (wo   wohl?)  im  freien  Bereich  des
  62. ASCII-Formates von den OS-Entwicklern definiert wurden.
  63.  
  64. Das  Ziel  der  "World-Wide-Web"-Entwickler  war, daß es auf jedem wichtigen
  65. Betriebssystem  ge-/benutzt  werden  kann.   So  war  es  klar,  daß der auf
  66. ASCII-basierte HTML-Quelltext Zeichen im standardisierten Sieben-Bit-Bereich
  67. vom ASCII-Format enthalten muß.  Um Akzent-Buchstaben oder spezielle Zeichen
  68. im  sieben-Bit-Code  repräsentieren  zu können, mußte etwas erfunden werden.
  69. Und  das  war der "Entity-Code" - eine Art "Escape-Code".  Ein "Entity-Code"
  70. besteht  aus  einem einführenden "&" und einem ";" am Ende.  Zwischen diesen
  71. Symbolen   befindet   sich   der   Name  des  Zeichens,  den  der  "Browser"
  72. interpretieren  kann.   Es  ist  eine  sehr schwierige und dumme Aufgabe den
  73. ASCII-Text von Hand zu konvertieren.  Also benutze einfach Raw2Ent!
  74.  
  75. Raw2Ent produziert echten "7-Bit-ASCII-Code".  Alle druckbaren Amiga-Zeichen
  76. im  8-Bit-Bereich  werden  in  "Entity-Codes" umgewandelt, ohne eine einzige
  77. Ausnahme.  Der Gebrauch von Namen anstelle von Code-Nummern wird es Menschen
  78. einfacher machen, die "Entity-Codes" zu lesen.
  79.  
  80.  
  81. 1.1. SYSTEMVORAUSSETZUNG
  82.  
  83. - AmigaOS 2.0 oder größer
  84. - optional: ARexx
  85.  
  86.  
  87.  
  88. 2. GEBRAUCH
  89.  
  90. Raw2Ent   besteht   aus   drei   Teilen:   einem  Assembler-Programm,  einem
  91. ARexx-Script und einer Batch-Datei.
  92.  
  93. Wenn  Du  einen  Text  bloß  einmal  konvertieren  willst,  brauchst  Du das
  94. Assembler-Programm.   Falls  Du  einen  Text  mehr  als  einmal konvertieren
  95. willst, weil Du an einem Projekt arbeitest, wie eine Web-Seite mit aktuellen
  96. Informationen, ist das ARexx-Script vielleicht nützlich.
  97.  
  98.  
  99.  
  100. 2.1. Raw2Ent VER: 1.5 (10.11.96)
  101.  
  102. Argumente:
  103.  
  104.   FROM/A            - Die Quelldatei (acht Bit breit)
  105.   TO/A              - Die Zieldatei (mit "Entity-Codes")
  106.                       [Pfad ohne Dateinamen ist nicht akzeptiert]
  107.   TAG/S             - aktiviert den TAG-Modus
  108.   HTML/S            - aktiviert den HTML-Mode
  109.   ENT/S             - voreingestellter Modus
  110.   UML=NOENT/S       - entfernt 8-Bit-Zeichen mit Zeichen und Worten
  111.   CODE/S            - konvertiert alle "Entity-Codes" mit Code-Nummern
  112.                       (ausgenommen den vier "Spezial-Entities")
  113.   TOTALCODE/S       - konvertiert ALLE Zeichen mit Entity-Code-Nummern
  114.   SMART/S           - aktiviert den SMART-Modus
  115.   INVERSE=ENT2RAW/S - kehrt die Funktion von Raw2Ent in Ent2Raw um
  116.  
  117.  
  118. Modi:
  119.  
  120.  
  121. >TAG-Modus<
  122.  
  123. wird die vier Zeichen:  & < > " nicht konvertieren.  Dies ist für ASCII-Text
  124. brauchbar, der schon "Entity-Codes" oder "HTML-Tags" enthält, die eingeführt
  125. und  beendet  sind  mit  "<"  und ">" und welche Anführungszeichen enthalten
  126. können.   Das Zeichen "&" leitet gewöhnlich die "Entity-Codes" ein.  Wenn Du
  127. den  TAG-Modus  benutzt,  wird die Quelldatei nicht ein zweites Mal auf eine
  128. falsche   Weise   konvertiert,   aber  unberührte  "Spezial-Zeichen"  werden
  129. konvertiert.   Desshalb  solltest  Du  diesen  Modus verwenden, wannimmer Du
  130. einen Text zum zweiten Mal umwandelst.
  131.  
  132.  
  133. >HTML-Modus<
  134.  
  135. wird  einfach  die Quelldatei in die Zieldatei kopieren.  Diese Funktion ist
  136. implementiert, um das Program in Script-Dateien einsetzen zu können.  (siehe
  137. z.B.  Raw2Ent.rexx)
  138.  
  139.  
  140. >ENT-Modus<
  141.  
  142. ist  der  voreingestellte  Modus  und wandelt alle bekannten Zeichen in ihre
  143. "Entity-Codes" um.
  144.  
  145.  
  146. >NOENT-Modus< oder >UML-Modus<
  147.  
  148. ist  ein  Modus,  welcher jedes 8-Bit-Zeichen durch Zeichen im 7-Bit-Bereich
  149. ersetzt,  ohne  "Character-Entity-Codes"  zu  verwenden.  Z.B.:  "ü" wird in
  150. "ue"  übersetzt  und  "£"  wird  in  "pound" übersetzt und "©" wird in "(C)"
  151. übersetzt  usw..   Es  ist  empfohlen  dieses Argument in Verbindung mit dem
  152. "TAG"-Argument  zu  gebrauchen.   Optional  kannst  Du >UML< (wie:  Umlaute)
  153. benutzen,   welches  ein  Synonym  zu  >NOENT<  ist.   [Dieser  Modus  wurde
  154. inspiriert durch Andreas Bais]
  155.  
  156.  
  157. >CODE-Modus<
  158.  
  159. wird alle "Entity-Codes" nicht mit "Entity-Namen" konvertieren, aber mit den
  160. "Entity-Code-Zahlen".   Dies  mag  brauchbar  sein, wenn ein "Browser" nicht
  161. alle  "Entity-Namen"  unterstützt, jedoch die Zahlen.  Merke:  Auf der einen
  162. Seite  sind  die  Code-Zahlen  für  Menschen schlecht zu lesen, doch auf der
  163. anderen  Seite  ist die Zieldatei vielleicht kürzer.  [Die kleinsten Dateien
  164. werden wohl im "TAG NOENT"-Modus erzeugt.]
  165.  
  166.  
  167. >TOTALCODE-Modus< oder >TOTCODE-Modus<
  168.  
  169. wird  JEDES Zeichen mit seiner Code-Zahl umwandeln.  Der einzigste Grund für
  170. diesen  Modus  ist es den Menschen das Lesen der Textdatei schwer zu machen.
  171. Dieser  Text  wird  nur  von  einem "HTML-Browser" lesbar angezeigt.  Dieser
  172. Modus wird sicher die größte Zieldatei erzeugen!
  173.  
  174.  
  175. >SMART-Modus<
  176.  
  177. ist  eine Kombination aus dem >ENT<-Modus und dem >TAG<-Modus.  HTML-Dateien
  178. z.B.   werden  ohne  Zerstörung  von  HTML-Tags und "Character-Entity-Codes"
  179. konvertiert  - wie im >TAG<-Modus.  Der Unterschied ist, daß die Zeichen:  <
  180. >  &  "  werden  konvertiert,  wenn Raw2Ent "denkt", daß diese Zeichen keine
  181. Elemente   von  den  "Character-Entity-Codes"  oder  HTML-Tags  sind.   Dies
  182. funktioniert  am Besten, wenn die HTML-Datei "guten" Code enthält.  Ich kann
  183. keine  korrekte  Interpreation  von  Raw2Ent  garantieren, aber ich denke es
  184. funktioniert in 95% von HTML-Dateien ohne Fehler.
  185.  
  186.  
  187. >INVERSE-Mode< or >ENT2RAW-Mode<
  188.  
  189. konvertiert   alle  "Character-Entity-Codes"  (Namen  und  Nummern)  in  das
  190. Amiga-ASCII  -  dem  Latin-1-Standard.  So kannst Du Raw2Ent als ein Ent2Raw
  191. benutzen.   Wenn  Du  den  >TAG<-Modus  setzt, wird dieser Modus die Zeichen
  192. nicht berühren:  > < & und ".
  193.  
  194.  
  195.  
  196. Rückgabewerte:
  197.  
  198. $RC=0  (OK)    -> alles in Ordnung!
  199. $RC=5  (WARN)  -> falscher Gebrauch
  200. $RC=10 (ERROR) -> Fehler (Speicher)
  201. $RC=20 (FAIL)  -> Fehler (Ein-/Ausgabe)
  202.  
  203.  
  204. 2.2. Raw2Ent.rexx VER: 1.4.1 (14.07.96)
  205.  
  206. Argumente:
  207.  
  208.   FROM/A            - Die Quelldatei (acht Bit breit)
  209.   TO/A              - Die Zieldatei (mit "Entity-Codes")
  210.                       [Pfad ohne Dateinamen ist nicht akzeptiert]
  211.   TAG/S             - aktiviert den TAG-Modus
  212.   HTML/S            - aktiviert den HTML-Mode
  213.   ENT/S             - voreingestellter Modus
  214.  
  215.  
  216. Modi:
  217.  
  218.   siehe Raw2Ent-Gebrauch (2.1.)
  219.  
  220.  
  221. Raw2Ent.rexx behandelt:
  222.  
  223.   - Zielpfad ohne Dateinamen
  224.   - Suffix-Handhabung (Zieldatei hat das Suffix ".ent")
  225.   - Fortschrittsanzeige
  226.   - Umgebungsvariablen für Automation ohne Fehler
  227.  
  228.  
  229.  
  230. 2.3. CWISENV
  231.  
  232. Benutze  CWISENV  um  die  Umgebungsvariablen  für eine spezifische Datei zu
  233. setzen,  wenn  Du  nicht die Raw2Ent.rexx-Argumente gebrauchen willst - z.B.
  234. in Batch-Dateien.
  235.  
  236. Argumente:
  237.  
  238. FILENAME/A  -  ist der Dateinamen für die Eingabedatei für Raw2Ent. Merke:
  239.                Benutze keine Pfadnamen! Du mußt den "cd"-Befehl mit dem
  240.                Pfadnamen benutzen, wo deine Textdatei (Eingabe) gefunden
  241.                werden kann.
  242.  
  243. MODE/A      -  wählt den Modus aus. Du kannst wählen: ENT, TAG, HTML
  244.  
  245. Modi:
  246.  
  247.   siehe Raw2Ent-Gebrauch (2.1.)
  248.  
  249.  
  250.  
  251. 2.4. ARGUMENT-PRIORITÄT
  252.  
  253. höchste Priorität    FROM/A      -  Muß benutzt werden!
  254.        ^             TO/A        -  Muß benutzt werden!
  255.        |
  256.        |             INVERSE/S   -  macht den Rest der Schalter unbrauchbar
  257.        |                                                     außer: "TAG"
  258.        |             HTML/S      -  macht alle anderen Schalter unbrauchbar
  259.        |             TOTALCODE/S -  macht den Rest der Schalter unbrauchbar
  260.        |             CODE/S      -  macht die Schalter unbrauchbar: "NOENT"
  261.        |                                                        und "ENT"
  262.        |             NOENT/S     -  macht den Schalter unbrauchbar: "ENT"
  263.        |                                                        und "SMART"
  264.        |             TAG/S       -  macht den Schalter unbrauchbar: "ENT"
  265.        |                                                        und "SMART"
  266.        v             SMART/S     -  macht den Schalter unbrauchbar: "ENT"
  267. niedrigste Priorität ENT/S       -  berührt keine anderen Schalter
  268.  
  269.  
  270.  
  271. 3. EINSCHRÄNKUNGEN
  272.  
  273.   - Ein Text kann nur in einem Stück konvertiert werden. Keine Markierung
  274.     möglich.
  275.   - Die Umgebungsvariablen besitzen keine Information zu Pfaden.
  276.     So z.B. haben alle "index.html"-Dateien die selbe Variable.
  277.     Die Variablen werden ignoriert, wenn Du selbst den "TAG"- oder "HTML"- oder
  278.     "ENT"-Schalter benutzt. Bitte merke, daß nur das ARexx-Script Variablen
  279.     unterstützt - NICHT das Assembler-Programm!
  280.   - Keine Konvertierungs-Fortschritts-Anzeige implementiert. Wenn Du das haben
  281.     willst, kannst Du das alte ARexx-Script Raw2Ent.rexx v1.3 benutzen.
  282.   - Das alte ARexx-Script [1.3] ist nicht kompatibel zum Assembler-Programm.
  283.   - Raw2Ent kann nicht mit "Break"-Signalen gestoppt werden.
  284.   - Raw2Ent unterstützt nur das Amiga-8-Bit-ASCII-Format [ISO-8859-1], doch das
  285.     ist in Ordnung, weil es viele Möglichkeiten gibt Texte vom PC, Mac, Unix
  286.     oder anderen Systemen zu konvertieren:
  287.     - Benutze das CrossDOS-Commodity. (Dies ist der beste Weg, weil jeder
  288.       AmigaOS 2.1+-Benutzer dieses Programm im "Tools/Commodities"-Verzeichnis
  289.       hat!)
  290.     - Es gibt viele Konverter im AmiNet oder anderen Freeware-Quellen. Z.B.:
  291.       - "CharConv" von Johan Billing [v1.6 von 1994]
  292.   - Wenn Du einen guten HTML zu TXT Konverter suchst, dann versuche dieses:
  293.     - "HTTX" von Gabriele Favrin [v1.0 von 1996]
  294.  
  295.  
  296.  
  297. 4. INSTALLATION
  298.  
  299. 4.1. Kopiere "Raw2Ent" und "Raw2Ent.rexx" in das selbe Verzeichnis.
  300.  
  301. 4.2. Ändere den Pfadnamen im "Raw2Ent.rexx"-Script.
  302.  
  303. 4.3. "makedir ENVARC:cwis/"
  304.  
  305.  
  306.  
  307. 5. BEISPIELE
  308.  
  309.  
  310. 5.1. "Raw2Ent Text.html Text.ent TAG"
  311.  
  312. Konvertiert  die  Datei  "Text.html"  in  die Datei "Text.ent" mit Hilfe von
  313. "Entity-Codes"  ohne  HTML-Tags  und  schon  konvertierte  "Entity-Codes" zu
  314. zerstören.
  315.  
  316.  
  317.  
  318. 5.2. "Raw2Ent Text Text.ent" oder
  319.      "Raw2Ent Text Text.ent ENT"
  320.  
  321. Konvertiert die Datei "Text" in "Text.ent" ohne Rücksicht auf HTML-Tags oder
  322. schon konvertierten "Entity-Codes".
  323.  
  324.  
  325.  
  326. 5.3. "Raw2Ent Text.html Text.ent HTML"
  327.  
  328. Kopiert bloß die Datei "Text.html" in "Text.ent".
  329.  
  330.  
  331.  
  332. 5.4. "Raw2Ent Text.html Text.ent TAG CODE"
  333.  
  334. Dasselbe  wie  das  Beispiel  5.1.,  aber alle "Character-Entity-Codes" sind
  335. durch "Code-Nummern" und keine "Code-Namen" repräsentiert.
  336.  
  337.  
  338.  
  339. 5.5. "Raw2Ent Text Text.ent CODE"
  340.  
  341. Dasselbe  wie  Beispiel  5.2.,  aber  alle "Character-Entity-Codes" sind mit
  342. "Code-Nummern" repräsentiert, ausgenommen den vier Zeichen:  < > " ?, welche
  343. noch immer mit ihren "Character-Entity-Namen" repräsentiert werden.
  344.  
  345.  
  346.  
  347. 5.6. "Raw2Ent Text Text.uml TAG NOENT" oder
  348.      "Raw2Ent Text Text.uml TAG UML"
  349.  
  350. Dies   wird   rohen   Text   in  sieben-bit-breiten  Text  ohne  "Character-
  351. Entity-Codes"  konvertiert.   Raw2Ent wird den Text mit alternativen Zeichen
  352. oder Worten oder Abkürzungen konvertieren.  Die Zieldatei in diesem Beispiel
  353. wird  keinen  einzigen  "Character-Entity-Code"  enthalten,  weil das >TAG<-
  354. Argument benutzt wird.
  355.  
  356.  
  357.  
  358. 5.7. "Raw2Ent Text Text.code TOTALCODE"
  359.  
  360. Die Datei "Text.code" wird nur "Code-Nummer-Entities" enthalten, ohne
  361. jegliche Ausnahme. Die Zieldatei wird sehr lang sein! Merke: Der TAG-Modus
  362. wird ignoriert, wenn dieser Modus verwendet wird. Deshalb wirst Du nicht
  363. fähig sein diesen Modus für HTML-Dateien zu gebrauchen, aber Du kannst diese
  364. Datei nur mit einem HTML-Browser lesen.
  365.  
  366.  
  367. 5.8. "Raw2Ent Text.ent Text INVERSE" oder
  368.      "Raw2Ent Text.ent Text ENT2RAW"
  369.  
  370. Dies wird die Date "Text.ent" in die Amiga-ASCII-Datei "Text" umwandeln.
  371.  
  372.  
  373. 5.9. "Raw2Ent Text.ent Text TAG INVERSE" oder
  374.      "Raw2Ent Text.ent Text TAG ENT2RAW"
  375.  
  376. Dies ist dasselbe wie 5.8.. Der einzige Unterschied besteht darin, daß die
  377. Codes:  > < & und "e; nicht konvertiert werden.
  378.  
  379.  
  380.  
  381. 6. TSCHÜSS!
  382.  
  383. ----------------------------------------------------------------------------
  384.     DER AUTOR IST NICHT VERANTWORTLICH FÜR JEGLICHEN VERLUSST VON DATEN
  385.                                 ODER PANNEN!
  386.  
  387.             BENUTZE DIESES FREEWARE-PROGRAMM MIT EIGENEM RISIKO.
  388. ----------------------------------------------------------------------------
  389.  
  390. Sende Kommentare an:
  391.  
  392. Tamio Patrick Honma
  393.  
  394. eMail: honma@thepentagon.com
  395.   WWW: http://www.netforward.com/thepentagon/?honma
  396.  
  397.  
  398. P.S. Dieses  Programm  wurde  für  das CWIS-Script-System auf Amiga und PC
  399.      gemacht. Das CWIS der Heinrich-Heine-Universität Düsseldorf kann hier
  400.      gefunden werden:
  401.  
  402.      http://www.phil-fak.uni-duesseldorf.de/cwis/
  403.  
  404.  
  405.  
  406.  
  407. 7. LETZTER KOMMENTAR:
  408.  
  409. Hey!?   Was  willst  Du!?   Ich  bin  nur  ein  Soziologie-,  Pädagogik- und
  410. Informationswissenschaftsstudent und kein Informatiker!
  411.  
  412. Sende mir einfach Deine Fehlermeldungen, ... ;)
  413.  
  414.  
  415.  
  416. ---> Raw2Ent-Assembler-Program <---
  417.  
  418. 8. FEHLERMELDUNGEN:
  419.  
  420. gemeldet von       Fehler                                    korrigierte Version
  421.  
  422. Joakim Andersson   Entity-Codes Å und å fehlen      1.0.1 (04.09.96)
  423.  
  424. Tamio Honma        Letztes Byte in der Zieldatei wurde gelöscht 1.1 (05.09.96)
  425.  
  426. Tamio Honma        Version-String ohne Leerzeichen              1.1.1 (06.09.96)
  427.  
  428. Marcus Beranek     Entity-Codes zu ÿ,ï,Ï,æ,Æ,ø,Ø,ë,Ë fehlen     1.1.3 (06.09.96)
  429.  
  430. Tamio Honma        Fehler im Circumflex-Akzent                  1.1.4 (08.09.96)
  431.  
  432.  
  433. 9. GESCHICHTE:
  434.  
  435. Version  Funktion                                               Datum
  436.  
  437. 1.0      Ersterscheinung                                        13.07.06 (*)
  438.  
  439. 1.1      Geschwindigkeit um die 20 (!!!) mal gesteigert         05.09.96
  440.          Version-String hinzugefügt
  441.  
  442. 1.1.2    Optimierter Code (Geschwindigkeit gesteigert)          06.09.96
  443.          Return-Codes hinzugefügt (siehe Abschnitt 2.1 für
  444.          die Return-Codes)
  445.  
  446. 1.1.3    HTML-Tags zu °,¹,²,³ hinzugefügt (improvisiert)        06.09.96
  447.  
  448. 1.1.4    Alle Entity-Codes erhältlich im Amiga-Zeichensatz      08.09.96 (*)14
  449.          eingefügt! Entity-Codes beziehen sich auf den HTML 3.2
  450.          Standard
  451.          Alle erhältlichen Namen eingefügt
  452.          Codes ohne Namen repräsentiert durch Code-Nummern
  453.          improvisierte HTML-Tags entfernt
  454.  
  455. 1.1.5    Wechselte nur die Code-Nummer mit Code-Namen "§"  14.10.96
  456.  
  457. 1.1.6    wechselte alle Code-Nummern in Entity-Namen (komplett) 30.10.96
  458.  
  459. 1.2      CODE-Modus hinzugefügt                                 01.11.96 (*)
  460.  
  461. 1.3      NOENT-Modus und TOTALCODE-Modus hinzugefügt            03.11.96 (*)
  462.          Version-String wird im Gebrauchstext angezeigt
  463.  
  464. 1.4      SMART-Modus hinzugefügt                             06-07.11.96 (*)
  465.  
  466. 1.5      INVERSE-Modus für Namen und Codes hinzugefügt (Ent2Raw)10.11.96 (*)
  467.          HELP-Text hinzugefügt
  468.  
  469.  
  470. (*) = veröffentlicht im Aminet
  471.       Nummer repräsentiert die Nummer der Aminet-CD-ROM
  472.